2system("pause");到底怎么用?
来源:百度知道 编辑:UC知道 时间:2024/06/11 01:03:33
先看如下代码
#include <iostream.h>
#include <stdlib.h>
main()
{
int a,i;
float c,b,aver;
c=0;
cout<<"要计算( )个数?"<<"\b\b\b\b\b\b\b\b\b\b";
cin>>a;
for(i=1;i<=a;i++) //A是用户输入的数
{
cout<<"输入第"<<i<<"个数:";
cin>>b;
c+=b;
}
aver=c/a;
cout<<aver;
system("pause");为什么不是先执行cout<<aver;?,而先执行system("pause");
}
#include <iostream.h>
#include <stdlib.h>
main()
{
int a,i;
float c,b,aver;
c=0;
cout<<"要计算( )个数?"<<"\b\b\b\b\b\b\b\b\b\b";
cin>>a;
for(i=1;i<=a;i++) //A是用户输入的数
{
cout<<"输入第"<<i<<"个数:";
cin>>b;
c+=b;
}
aver=c/a;
cout<<aver;
system("pause");为什么不是先执行cout<<aver;?,而先执行system("pause");
}
你把cout<<aver;改成cout<<aver<<endl;
就知道为什么了
因为要打印的东西在缓存里,你不输入换行有时候是出不来的
这是缓冲区的问题,你可以去搜索一下,解释这方面问题的内容有不少。
简要说一下,输入/输出缓冲区,是为了减少程序访问I/O带来中断而设的一段空间。当程序满足某个刷新条件时,那就将清理缓冲区。这里只说一下输出缓冲区。
(1)输出缓冲区溢出
(2)遇到下一条输入语句
(3)使用刷新缓冲区迫使清除
(4)程序结束。
结合你的程序说,语句
cout<<aver;
的后面没有任何一种输出缓冲区内容的操作,因此缓冲区的内容不会输出到cout的标准输出设备(也就是屏幕)上。所以先执行了system("pause"),直到程序结束之后才输出了aver
关于加 system("Pause");
system("pause"); 这个函数是什么意思
关于system("pause")的问题
在C语言编程循环中:system("pause");和continue;有区别吗?
system("pause");有什么用途??下面的程序是我测试用的
system("pause") 如何去掉“按任意键继续!”这几个字!
在C++中,getchar()和system("pause")的区别在哪?
(C++)为什么在VC++2005中,不能在顶头加上#include<windows>末尾加system("pause");呢??
键盘上的“scroll lock"与"pause break"有什么用?
System.IO.Directory.Move("1", "2"); c#小问题